package com.dr.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.dr.entity.Product;
import com.dr.entity.ProductVO;
import com.dr.entity.Producttype;

public interface ProductMapper {
	/**
	 * 多条件查询
	 * @param page页码
	 * @param limit条数
	 * @param map集合
	 * @return查询的数据
	 */
	public List<Product> AllProduct(ProductVO productVO);
	/**
	 * 查询行数
	 * @param map集合
	 * @return 返回int类型的行数
	 */
	public Integer getCount(ProductVO productVO);
	/**
	* 删除一组商品信息
	* @param ids 要删除商品的 id 字符串，例如："1,2,3"
	* @return 数据库受影响的行数
	*/
	int deleteProducts(@Param("ids")String ids);
	/**
	* 删除一条商品信息
	* @param id 要删除的商品的编号
	* @return 数据库受影响的行数
	*/
	public int deleteProduct(@Param("id")int id);
	/**
	 * 添加
	 * @param p
	 * @return
	 */
	public int insertProduct(Product p);
	/**
	 * 修改
	 * @param p对象
	 * @return 数据库受影响的行数
	 */
	 public Integer updateProduct(Product p);
	 /**
		 * 修改是否下架（0上架，1下架）
		 * @param p对象
		 * @return 数据库受影响的行数
		 */
	 public Integer updateisSoldOut(@Param("id")int id,@Param("isSoldOut")int isSoldOut);
	 /**
		 * 修改是否允许被删除（0不允许，1允许，默认值是1，只要下过订单就改成0）
		 * @param p对象
		 * @return 数据库受影响的行数
		 */
	 public Integer updateisDel(@Param("id")int id,@Param("isDel")int isDel);
	 /**
		 * 修改是否推荐到首页（默认值是0，0不推荐，1代表推荐）
		 * @param p对象
		 * @return 数据库受影响的行数
		 */
	 public Integer updateisRecommendMain(@Param("id")int id,@Param("isRecommendMain")int isRecommendMain);
	 
	 /**
	  * 上传图片
	  * @param id
	  * @param filename	给数据库的图片名称
	  * @return	返回受影响的行数
	  */
	// int uploadImg(@Param("id")int id,@Param("filename")String filename);
	 /**
	  * 获取产品分类
	  * @return
	  */
	 public List<Producttype> findPtype();
	 
	 public int editImg(@Param("id")int id,@Param("imgMain")String imgMain,@Param("imgFu")String imgFu);
	 
	 /**
	  * 查询首页的产品
	  */
	 public List<Product> findWebIndexProduct(@Param("name")String name,@Param("tid")Integer tid,@Param("isRecommendMain")Integer isRecommendMain);
}
